/**
 ** Name: ORAC_COMPAT.H - Oracle Compatibility Header
 **
 ** Description:
 **      This file contains those special symbols used for
 **      Oracle Compatibility
 **
 **
 ** History:
 **      23-aug-2004 (chen)
 **          Created.
 **/

#define ALIGNMENT_REQUIRED    1

#ifdef	ALIGNMENT_REQUIRED

#define	      BYTEASSIGN_MACRO(a, b)	byte_copy((char *)&(a), sizeof(char), (char *)&(b))
#define		    I2ASSIGN_MACRO(a,b)		byte_copy((char *) &(a), sizeof(short), (char *) &(b))
#define		    I4ASSIGN_MACRO(a,b)		byte_copy((char *) &(a),sizeof(i4), (char *) &(b))
#define		    F4ASSIGN_MACRO(a,b)		byte_copy((char *)&(a), sizeof(float), (char *) &(b))
#define		    F8ASSIGN_MACRO(a,b)		byte_copy((char *)&(a), sizeof(double), (char *) &(b))

#else

#define	            BYTEASSIGN_MACRO(a, b)	((*(char *)&(b)) = (*(char *)&(a)))
#define		    I2ASSIGN_MACRO(a,b)		((*(short *)&(b)) = (*(short *)&(a)))
#define		    I4ASSIGN_MACRO(a,b)		((*(i4 *)&(b)) = (*(i4 *)&(a)))
#define		    F4ASSIGN_MACRO(a,b)		((*(float *)&(b)) = (*(float *)&(a)))
#define		    F8ASSIGN_MACRO(a,b)		((*(double *)&(b)) = (*(double *)&(a)))

#endif

#define			FMAX		1E37
#define			FMIN		-(FMAX)
